﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Negocio;


public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
    }
    public bool ValidarUsuario(string login, string clave)
    {
        Usuario usu = new Usuario();
        usu.Login = login;
        usu.Clave = clave;
        bool bule = usu.existeUs();
        return bule;
    }
    public static string ObtenerRoles(string usuario)
    {
        UsuarioRol ur = new UsuarioRol(usuario);
        ur.buscarRol(usuario);
        string r = ur.Rol.ToString();
        return r;
    }
    protected void butAceptar_Click(object sender, EventArgs e)
    {
        try
        {
        //Si el usuario está autenticado?
            if (ValidarUsuario(txtLogin.Text, txtClave.Text))
            {
                //Obtiene un string con todos los roles
                string roles = ObtenerRoles(txtLogin.Text);

                //Crear un ticket de autenticación
                FormsAuthenticationTicket autTicket = new
                FormsAuthenticationTicket(1, txtLogin.Text, DateTime.Now, DateTime.Now.AddMinutes(60), false, roles);
                //Encriptar el ticket
                string encrTicket = FormsAuthentication.Encrypt(autTicket);
                // Crea una cookie con el ticket encriptado
                HttpCookie autCookie = new HttpCookie("testseguridad", encrTicket);
                // Agrega la cookie a la Response
                Response.Cookies.Add(autCookie);
                // Redirecciona al usuario a la página que solicitó originalment
                Response.Redirect(FormsAuthentication.GetRedirectUrl(txtLogin.Text, false));
                
             }
        else lblMensaje.Text = "No tiene autorización para ingresar al sistema";
        }
        catch (Exception ex)
        {
        lblMensaje.Text = "Ocurrió un error: " + ex.Message;
        }
    }
}
